Rozdeleni stringu

Otázka od: mr.guest_delphi@centrum.cz

3. 6. 2004 22:29

Zdravim Delphaci,
potreboval bych jednu rutini vec. Delal jsem jen v PHPpecku a z nej znam
EXPLODE(";", promena) potreboval bych to v DElphi

var
co : string = '100c150c256c954c';
cim : string = 'c';
rozdelenytext : array of string ;
begin
//Zde se text rozdeli na stringy (oddelovac je STRING "c")
// V PHP by to bylo : rozdelenytext = Explode(cim, co) ale v DELPHI nevim ...
please o pomoc

end;

Odpovedá: tondrej@t-online.de

4. 6. 2004 1:00

Zdar,

> potreboval bych jednu rutini vec. Delal jsem jen v PHPpecku a z nej
> znam EXPLODE(";", promena) potreboval bych to v DElphi
>
> var
> co : string = '100c150c256c954c';
> cim : string = 'c';
> rozdelenytext : array of string ;
> begin
> //Zde se text rozdeli na stringy (oddelovac je STRING "c")
> // V PHP by to bylo : rozdelenytext = Explode(cim, co) ale v DELPHI

napriklad takto:

function Explode(C: Char; const S: string; Strings: TStrings): Integer;
begin
  Strings.BeginUpdate;
  try
    Strings.Delimiter := C;
    Strings.DelimitedText := S;
    Result := Strings.Count;
  finally
    Strings.EndUpdate;
  end;
end;

Priklad pouzitia:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Explode('c', '100c150c256c954c', Memo1.Lines);
end;

HTH
TOndrej


Odpovedá: Jiri Cincura

4. 6. 2004 9:01

Pomoci fce Pos event. PosEx si najdes vyskyt prvniho oddelovace. Od prvniho
znako do oddelovace to zkopirujes a jedes dal, dokud neprojdes cely string.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo